package com.hntxk.cqzd.export.model;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hntxk.core.constant.CoreConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@NoArgsConstructor
@AllArgsConstructor
@Data
public class AllDiagnosisInfo implements Serializable {
    /**
     * 导出 序号
     */
    @Excel(name = "序号", groupName = "基础信息", width = 15, orderNum = "1",fixedIndex = 0)
    private Integer  number;
    /**
     * 诊断信息id
     */
   private Integer diacrisisId;

    /**
     *登记编号
     */
    @Excel(name = "登记编号", groupName = "基础信息", width = 15, orderNum = "2",fixedIndex = 1)
   private  String recordId;

    /**
     * 姓名
     */
    @Excel(name = "姓名", groupName = "基础信息", width = 15, orderNum = "3",fixedIndex = 2)
   private  String patientName;

    /**
     *身份证证号
     */
    @Excel(name = "身份证证号", groupName = "基础信息", width = 15, orderNum = "4",fixedIndex = 3)
   private String  patientCardId;

    /**
     * 患者年龄
     */
    @Excel(name = "患者年龄", groupName = "基础信息", width = 15, orderNum = "5",fixedIndex = 4)
    private Integer patientAge ;

    /**
     * 患者学历
     */
    @Excel(name = "患者学历", groupName = "基础信息", width = 15, orderNum = "6",fixedIndex = 5)
     private String patientEdu;

    /**
     * 患者职业
     */
    @Excel(name = "患者职业", groupName = "基础信息", width = 15, orderNum = "7",fixedIndex = 6)
    private String patientOccupation;

    /**
     * 宗教
     */
    @Excel(name = "宗教", groupName = "基础信息", width = 15, orderNum = "8",fixedIndex = 7)
    private String patientReligion;

    /**
     * 孕次
     */
    @Excel(name = "孕次", groupName = "基础信息", width = 15, orderNum = "9",fixedIndex = 8)
    private  Integer gestCount ;

    /**
     *产次
     */
    @Excel(name = "产次", groupName = "基础信息", width = 15, orderNum = "10",fixedIndex = 9)
    private Integer prodCount ;

    /**
     *流产次
     */
    @Excel(name = "流产次", groupName = "基础信息", width = 15, orderNum = "11",fixedIndex = 10)
    private  Integer aboCount ;

    /**
     *不良孕产史
     */
    @Excel(name = "不良孕产史", groupName = "基础信息", width = 15, orderNum = "12",fixedIndex = 11)
    private String badGest;

    /**
     *现存小孩
     */
    @Excel(name = "现存小孩", groupName = "基础信息", width = 15, orderNum = "13",fixedIndex = 12)
    private  Integer children ;

    /**
     * 末次月经
     */
    @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
    @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
    private Date lastMenses;
    /**
     * 字符转换  末次月经
     */
    @Excel(name = "末次月经", groupName = "基础信息", width = 15, orderNum = "14",fixedIndex = 13)
    private String strLastMenses;

   /**
    *单胎/双胎
    */
   @Excel(name = "单胎/双胎", groupName = "基础信息", width = 15, orderNum = "15",fixedIndex =14)
   private String fetusesType;

    /**
     * 初诊孕周
     */
    @Excel(name = "初诊孕周", groupName = "基础信息", width = 15, orderNum = "16",fixedIndex =15)
    private Integer  gestWeeks ;

    /**
     *预产期
     */
    @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
    @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
    private Date expectedDate;
    /**
     *字符转换 预产期
     */
    @Excel(name = "预产期", groupName = "基础信息", width = 15, orderNum = "17",fixedIndex =16)
    private String strExpectedDate;

    /**
     *孕期用药
     */
    @Excel(name = "孕期用药", groupName = "基础信息", width = 15, orderNum = "18",fixedIndex =17)
    private String drugUse;

    /**
     *家族史
     */
    @Excel(name = "家族史", groupName = "基础信息", width = 15, orderNum = "19",fixedIndex =18)
    private String familyMedical;

   /**
    *特殊病史
    */
   @Excel(name = "特殊病史", groupName = "基础信息", width = 15, orderNum = "20",fixedIndex =19)
     private String specialMedical;
   /**
    * 穿刺指征
    */
   @Excel(name = "穿刺指征", groupName = "基础信息", width = 30, orderNum = "21",fixedIndex =20)
     private String assayRemark;
   /**
    *穿刺日期
    */
   @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
   @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
   private  Date inspectionTime;
    /**
     *字符转换 穿刺日期
     */
    @Excel(name = "穿刺日期", groupName = "基础信息", width = 15, orderNum = "22",fixedIndex =21)
    private  String strInspectionTime;
   /**
    *NT(cm)
    */
   @Excel(name = "NT(cm)", groupName = "基础信息", width = 15, orderNum = "23",fixedIndex =22)
     private  Double nt  ;
   /**
    * CRL(cm)
    */
   @Excel(name = "CRL(cm)", groupName = "基础信息", width = 15, orderNum = "24",fixedIndex =23)
   private  Double  crl  ;
   /**
    *NIPT结果
    */
   @Excel(name = "NIPT结果", groupName = "基础信息", width = 15, orderNum = "25",fixedIndex =24)
   private String niptTypeName;
   /**
    * 唐筛结果
    */
   @Excel(name = "唐筛结果", groupName = "基础信息", width = 15, orderNum = "26",fixedIndex =25)
   private  String tangScreenName;
   /**
    *B超结果
    */
   @Excel(name = "B超结果", groupName = "基础信息", width = 15, orderNum = "27",fixedIndex =26)
   private  String babnormal;
   /**
    * 血型
    */
   @Excel(name = "血型", groupName = "基础信息", width = 15, orderNum = "28",fixedIndex =27)
   private String  bloodTypeName;
   /**
    *家庭住址
    */
   @Excel(name = "家庭住址", groupName = "基础信息", width = 15, orderNum = "29",fixedIndex =28)
   private String patientAddress;
   /**
    *患者电话
    */
   @Excel(name = "患者电话", groupName = "基础信息", width = 15, orderNum = "30",fixedIndex =29)
   private String patientTel;
   /**
    * 家属电话
    */
   @Excel(name = "家属电话", groupName = "基础信息", width = 15, orderNum = "31",fixedIndex =30)
   private String spouseTel;
   /**
    *配偶年龄
    */
   @Excel(name = "配偶年龄", groupName = "基础信息", width = 15, orderNum = "32",fixedIndex =31)
   private Integer spouseAge ;
   /**
    * 配偶姓名
    */
   @Excel(name = "配偶姓名", groupName = "基础信息", width = 15, orderNum = "33",fixedIndex =32)
    private String spouseName;
   /**
    *配偶职业
    */
   @Excel(name = "配偶职业", groupName = "基础信息", width = 15, orderNum = "34",fixedIndex =33)
   private  String  spouseOccupation;
   /**
    * 羊穿 B超标记
    */
   @Excel(name = "B超标记", groupName = "诊断信息-羊穿", width = 15, orderNum = "35",fixedIndex =34)
   private String bsignYc;
   /**
    *羊穿   羊水性状
    */
   @Excel(name = "羊水性状", groupName = "诊断信息-羊穿", width = 15, orderNum = "36",fixedIndex =35)
   private String afTypeNameYc;
   /**
    *羊穿 过程
    */
   @Excel(name = "过程", groupName = "诊断信息-羊穿", width = 15, orderNum = "37",fixedIndex =36)
   private String inspectionProcessYc;
   /**
    *羊穿 FISH
    */
   @Excel(name = "FISH", groupName = "诊断信息-羊穿", width = 15, orderNum = "38",fixedIndex =37)
   private String fishYc;
   /**
    *羊穿 CMV
    */
   @Excel(name = "CMV", groupName = "诊断信息-羊穿", width = 15, orderNum = "39",fixedIndex =38)
   private String cnvYc;
   /**
    * 羊穿   QF-PCR
    */
   @Excel(name = "QF-PCR", groupName = "诊断信息-羊穿", width = 15, orderNum = "40",fixedIndex =39)
     private  String qfPcrYc;
   /**
    *羊穿 核型分析
    */
   @Excel(name = "核型分析", groupName = "诊断信息-羊穿", width = 15, orderNum = "41",fixedIndex =40)
    private  String karyotypingYc;

   /**
    * 绒穿 B超标记
    */
   @Excel(name = "B超标记", groupName = "诊断信息-绒穿", width = 15, orderNum = "42",fixedIndex =41)
   private String bsignRc;
   /**
    *绒穿   羊水性状
    */
   @Excel(name = "羊水性状", groupName = "诊断信息-绒穿", width = 15, orderNum = "43",fixedIndex =42)
   private String afTypeNameRc;
   /**
    *绒穿 过程
    */
   @Excel(name = "过程", groupName = "诊断信息-绒穿", width = 15, orderNum = "44",fixedIndex =43)
   private String inspectionProcessRc;
   /**
    *绒穿 FISH
    */
   @Excel(name = "FISH", groupName = "诊断信息-绒穿", width = 15, orderNum = "45",fixedIndex =44)
   private String fishRc;
   /**
    *绒穿 CMV
    */
   @Excel(name = "CMV", groupName = "诊断信息-绒穿", width = 15, orderNum = "46",fixedIndex =45)
   private String cnvRc;
   /**
    * 绒穿   QF-PCR
    */
   @Excel(name = "QF-PCR", groupName = "诊断信息-绒穿", width = 15, orderNum = "47",fixedIndex =46)
   private  String qfPcrRc;
   /**
    *绒穿 核型分析
    */
   @Excel(name = "核型分析", groupName = "诊断信息-绒穿", width = 15, orderNum = "48",fixedIndex =47)
   private  String karyotypingRc;


   /**
    * 脐穿 B超标记
    */
   @Excel(name = "B超标记", groupName = "诊断信息-脐穿", width = 15, orderNum = "49",fixedIndex =48)
   private String bsignQc;
   /**
    *脐穿   羊水性状
    */
   @Excel(name = "羊水性状", groupName = "诊断信息-脐穿", width = 15, orderNum = "50",fixedIndex =49)
   private String afTypeNameQc;
   /**
    *脐穿 过程
    */
   @Excel(name = "过程", groupName = "诊断信息-脐穿", width = 15, orderNum = "51",fixedIndex =50)
   private String inspectionProcessQc;
   /**
    *脐穿 FISH
    */
   @Excel(name = "FISH", groupName = "诊断信息-脐穿", width = 15, orderNum = "52",fixedIndex =51)
   private String fishQc;
   /**
    *脐穿 CMV
    */
   @Excel(name = "CMV", groupName = "诊断信息-脐穿", width = 15, orderNum = "53",fixedIndex =52)
   private String cnvQc;
   /**
    * 脐穿   QF-PCR
    */
   @Excel(name = "QF-PCR", groupName = "诊断信息-脐穿", width = 15, orderNum = "54",fixedIndex =53)
   private  String qfPcrQc;
   /**
    *脐穿 核型分析
    */
   @Excel(name = "核型分析", groupName = "诊断信息-脐穿", width = 15, orderNum = "55",fixedIndex =54)
   private  String karyotypingQc;
   /**
    * 随访时间
    */
   @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
   @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
   private Date flupTime;
    /**
     *字符转换 随访时间
     */
    @Excel(name = "随访时间", groupName = "随访患者信息", width = 15, orderNum = "56",fixedIndex =55)
    private String strFlupTime;
   /**
    * 妊娠结果
    */
   @Excel(name = "妊娠结果", groupName = "随访患者信息", width = 15, orderNum = "57",fixedIndex =56)
   private String  gestResultName;
   /**
    *新生儿/引产儿性别
    */
   @Excel(name = "新生儿/引产儿性别", groupName = "随访患者信息", width = 15, orderNum = "58",fixedIndex =57)
    private String nbcSex;
   /**
    * 出生/引产日期
    */
   @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
   @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
    private Date nbcBirthdayOrChildbirthDate;
    /**
     *字符转换 出生/引产日期
     */
    @Excel(name = "出生/引产日期", groupName = "随访患者信息", width = 15, orderNum = "59",fixedIndex =58)
    private String strNbcBirthdayOrChildbirthDate;
   /**
    *出生体重
    */
   @Excel(name = "出生体重", groupName = "随访患者信息", width = 15, orderNum = "60",fixedIndex =59)
    private Double  nbcBw  ;
   /**
    *出生孕龄/引产孕龄
    */
   @Excel(name = "出生孕龄/引产孕龄", groupName = "随访患者信息", width = 15, orderNum = "61",fixedIndex =60)
   private String  gestDays;
   /**
    *出生地点
    */
   @Excel(name = "出生地点", groupName = "随访患者信息", width = 15, orderNum = "62",fixedIndex =61)
   private String birthPlace;
   /**
    *出生检查
    */
   @Excel(name = "出生检查", groupName = "随访患者信息", width = 15, orderNum = "63",fixedIndex =62)
   private  String   birthInspection;
   /**
    * 后续治疗
    */
   @Excel(name = "后续治疗", groupName = "随访患者信息", width = 15, orderNum = "64",fixedIndex =63)
   private  String flupCure;
   /**
    *引产特殊情况
    */
   @Excel(name = "引产特殊情况", groupName = "随访患者信息", width = 15, orderNum = "65",fixedIndex =64)
   private String  inducedSpecial;
   /**
    * 引产原因
    */
   @Excel(name = "引产原因", groupName = "随访患者信息", width = 15, orderNum = "66",fixedIndex =65)
   private  String inducedCauseName;
   /**
    *是否留存标本
    */
   @Excel(name = "是否留存标本", groupName = "随访患者信息", width = 15, orderNum = "67",fixedIndex =66)
   private String isSpecKeep;
   /**
    *标本名称
    */
   @Excel(name = "标本名称", groupName = "随访患者信息", width = 15, orderNum = "68",fixedIndex =67)
   private  String   specKeepName;
   /**
    *随访备注
    */
   @Excel(name = "随访备注", groupName = "随访患者信息", width = 15, orderNum = "69",fixedIndex =68)
   private  String   flupRemark;
    /**
     *术前情况
     */
    @Excel(name = "术前情况", groupName = "随访患者信息", width = 15, orderNum = "70",fixedIndex =69)
    private String diacrisisRemark;
    /**
     * 检验信息ID
     */
    private Integer diagnosisId;
    /**
     *尸检结果
     */
    @Excel(name = "尸检结果", groupName = "随访患者信息", width = 15, orderNum = "71",fixedIndex =70)
    private String isPme;
    /**
     *出生身长
     */
    private  Double nbcLength;

    /**
     *头围
     */
    private  Double nbcHeadCircumference;

    /**
     *1分钟阿氏评分
     */
    private  Integer oneApgar;

    /**
     *5分钟阿氏评分
     */
    private  Integer fiveApgar;
}
